

class Main:
    def __init__(self):
        self.myState = dict()
        self.opponentState1 = dict()
        self.opponentState2 = dict()
        self.opponentState3 = dict()
        self.opponentState4 = dict()
        self.opponentState5 = dict()
        self.gameState = dict()
        self.flop = None
        self.turn = None
        self.river = None
        
        self.handsRaise = dict(
                               EP = ("AA", "AKs", "AKo", "AQs", "AQo", "KK", "QQ"),
                               MP = ("AA", "AKs", "AKo", "AQs", "AQo", "KK", "QQ"),
                               CO = ("AA", "AKs", "AKo", "AQs", "AQo", "KK", "QQ"),
                               BU = ("AA", "AKs", "AKo", "AQs", "AQo", "KK", "QQ"),
                               SB = ("AA", "AKs", "AKo", "AQs", "AQo", "KK", "QQ"),
                               BB = ("AA", "AKs", "AKo", "AQs", "AQo", "KK", "QQ")
                               )
        self.handsCall = dict(
                              EP = None,
                              MP = ("JJ", "TT", "99"),
                              CO = ("JJ", "TT", "99"),
                              BU = ("JJ", "TT", "99"),
                              SB = ("JJ", "TT", "99"),
                              BB = ("JJ", "TT", "99")
                              )
        self.hands3Bet = self.handsRaise
        
    def actionPreflopIfActFirst(self):
        self.myState['position'] = OpenHoldem.getpos()
        self.myState['holecards'] = OpenHoldem.getholecards()
        if self.myState['holecards'] in self.handsRaise[self.myState['position']]:
            return "raise"
        elif self.myState['holecards'] in self.hands3Bet[self.myState['position']]:
            return "3bet"
        else:
            return "fold"
    
    def actionPreflopIfRaised(self):
        if self.myState['holecards'] in self.handsRaise[self.myState['position']]:
            return "call"
    
    def actionPreflopIfLimped(self):
        return self.actionPreflopIfActFirst()
    
            